package com.zw.yzk.kabu.jpush;

import android.content.Context;

import com.zw.yzk.kabu.data.cache.db.DataBaseManager;
import com.zw.yzk.kabu.data.cache.db.User;
import com.zw.yzk.kabu.data.utils.LogUtils;
import com.zw.yzk.kabu.data.utils.SharedPrefrenceUtils;

import java.util.Set;

import cn.jpush.android.api.JPushInterface;
import cn.jpush.android.api.TagAliasCallback;

/**
 * Created by zhanwei on 2017/5/8.
 */

public class JPushHelper {

    /**
     * 初始化极光推送
     *
     * @param context 上下文
     */
    public static void init(Context context) {
        JPushInterface.init(context);
        if (JPushInterface.isPushStopped(context)) {
            resumePush(context);
        }
    }

    /**
     * 停止极光推送
     *
     * @param context 上下文
     */
    public static void stopPush(Context context) {
        JPushInterface.stopPush(context);
    }

    /**
     * 恢复极光推送
     *
     * @param context 上下文
     */
    public static void resumePush(Context context) {
        JPushInterface.resumePush(context);
    }

    /**
     * 设置别名
     * @param context 上下文
     */
    public static void setAlias(final Context context) {
        User user = DataBaseManager.getInstance().getLoginUser();
        if (user == null) {
            return;
        }
        final String aliasKey = "jpush_user_" + user.getUserId();
        if (JPushInterface.isPushStopped(context)) {
            resumePush(context);
        }
        JPushInterface.setAlias(context, String.valueOf(user.getUserId()), new TagAliasCallback() {
            @Override
            public void gotResult(int i, String s, Set<String> set) {
                LogUtils.d("zhanwei", "setAlias result:  " + s);
                switch (i) {
                    case 0:
                        //设置成功
                        SharedPrefrenceUtils.setValue(context, aliasKey, true);
                        break;
                    case 6002:
                        // 超时,设置失败
                        break;
                    default:
                        break;
                }
            }
        });
    }
}
